package com.itlong.cloud.sdk.service;

import com.itlong.cloud.POJO.PO.ProjectPO;
import com.itlong.cloud.POJO.PO.PropertyRoleProjectPO;

import java.util.List;
import java.util.Map; /**
 * <desc>
 *      SDK地址服务层接口
 * </desc>
 *
 * @createDate 2017/10/31
 */
public interface ISDKServerOldProjectService {

    /**
     * <desc>
     *      根据自定义参数查询项目
     * <desc/>
     * @param  params   查询参数集
     * @return  List<ProjectPO>  返回PO对象集
     * @author Biao.R
     * @createDate 2017/10/31
     */
    List<ProjectPO> getByParamMap(Map<String, Object> params);

    /**
     * <desc>
     *      查找以beginStr开头的最大项目编号
     * <desc/>
     * @param   beginStr 查询的起始字符串
     * @return  String  返回的项目编号
     * @author Biao.R
     * @createDate 2017/10/31
     */
    Integer getMaxId(String beginStr);

    /**
     * <desc>
     *      根据项目名称保存projectPO信息
     * <desc/>
     * @param   appid 当前登录userId
     * @param   projectName 保存对象
     * @return  Integer  返回的保存数量
     * @author Biao.R
     * @createDate 2017/10/31
     */
    ProjectPO saveByProjectName(String appid, String projectName) throws Exception;

    /**
     * <desc>
     *      查询独立开发者所管辖的项目信息
     * <desc/>
     * @param   propertyRoleProjectPO 独立开发者PO对象
     * @return  List<ProjectPO> 查询出的项目信息结果集
     * @author Biao.R
     * @createDate 2017/11/3
     */
    List<ProjectPO> getDeveloperProjects(PropertyRoleProjectPO propertyRoleProjectPO);

    /**
     * <desc>
     *      根据项目ID查询单个项目
     * <desc/>
     * @param  projectId  待查询项目ID
     * @return  ProjectPO  返回对象
     * @author Biao.R
     * @createDate 2017/11/9
     */
    ProjectPO getByProjectId(String projectId);

}
